<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>

    //  Number.EPSILON 是JavaScript 表示的最小精度      EPSILON 属性的值接近于 2.2204460492503130808472633361816E-16
    function equal(a, b) {
      return Math.abs(a - b) < Number.EPSILON;
    }
    console.log(0.1 + 0.2 === 0.3); // false
    console.log(equal(0.1 + 0.2, 0.3));   // true

    //1. 二进制和八进制
    let a = 0b1010;
    let b = 0o123;
    let c = 100;
    let d = 0xff;
    console.log(a, b, c, d);    // 10 83 100 255

    //2. Number.isFinite  检测一个数值是否为有限数
    console.log(Number.isFinite(1));    // true
    console.log(Number.isFinite(100 / 0));      // false
    console.log(Number.isFinite(Infinity));   // false

    //3. Number.isNaN 检测一个数值是否为 NaN
    console.log(Number.isNaN(123));   // false
    console.log(Number.isNaN('abc'));   // false
    console.log(Number.isNaN(NaN));   // true

    //4. Number.parseInt Number.parseFloat字符串转整数，会自动截取出数字
    console.log(Number.parseInt('123aaa'));   // 123
    console.log(Number.parseFloat('123.456aaa'));   // 123.456

    //5. Number.isInteger 判断一个数是否为整数
    console.log(Number.isInteger(5));   // true
    console.log(Number.isInteger(2.5));   // false

    //6. Math.trunc 将数字的小数部分抹掉
    console.log(Math.trunc(3.5));   // 3

    //7. Math.sign 判断一个数到底为正数 负数 还是零
    console.log(Math.sign(100));    // 123   表示正数
    console.log(Math.sign(0));    // 0      表示 0
    console.log(Math.sign(-100));   // -123   表示负数


  </script>
</body>

</html>